# 指定文件编码为UTF-8，支持中文显示
# coding: utf-8

# 导入NumPy数值计算库，并简写为np
import numpy as np

# 定义OR门函数，实现逻辑或运算
def OR(x1, x2):
    # 将输入转换为NumPy数组
    x = np.array([x1, x2])
    # 设置权重参数（两个输入权重相同）
    w = np.array([0.5, 0.5])
    # 设置偏置参数（与AND门不同）
    b = -0.2
    # 计算加权和加上偏置
    tmp = np.sum(w*x) + b
    # 判断输出结果
    if tmp <= 0:
        return 0  # 输出0表示False
    else:
        return 1  # 输出1表示True

# 主程序入口
if __name__ == '__main__':
    # 测试所有可能的输入组合：(0,0)、(1,0)、(0,1)、(1,1)
    for xs in [(0, 0), (1, 0), (0, 1), (1, 1)]:
        # 调用OR函数计算结果
        y = OR(xs[0], xs[1])
        # 打印输入输出对应关系，格式为"(输入) -> 输出"
        print(str(xs) + " -> " + str(y))
